package com.ldzy.webase.exception;

/**
 * @author ：Lq
 * @version ：1.0
 * @date ：2022/10/23 10:22
 * @description ：异常信息代码类
 */
public enum ExceptionResponseCode {
    ERROR_COMMENT_NOT(220, "无评论数据"),
    ERROR_NOTICE_NOT(220, "暂无最新消息通知"),


    /*
     * 1）UserServiceImpl类中 【学号/手机号、密码】 验证失败
     * ......
     */
    ERROR_USERNAME_OR_PASSWORD(401, "用户名或密码错误，请重新登陆"),

    /*
     * 1）AuthenticationInterceptor类中 【无token】
     * ......
     */
    ERROR_NOT_LOGIN(401, "还未登陆，请先登陆"),

    /*
     * 1）AuthenticationInterceptor类中 【token 中取出的uid在数据库中查询不到对应的密钥】
     * ......
     */
    ERROR_NOT_USER(401, "用户不存在，请重新登录"),

    /*
     * 1）AuthenticationInterceptor类中 【token的第一个参数uid取出过程中报错】
     * 2）AuthenticationInterceptor类中 UserLoginToken的注解中，查看里面required的值为 【false】（默认为true）
     * ......
     */
    ERROR_NOT_TOKEN(401, "服务器开小差了"),
    ERROR_NOT_PRESS(401, "话题已删除"),
    ERROR_UPLOAD(401, "上传失败，预期外的错误"),

    /*
     * 1）AuthenticationInterceptor类中 将数据库中的密钥跟token中的密钥进行比对验证【验证失败】。常见情况为数据库里的密钥信息已经更新，但token还是原来的数据
     * ......
     */
    ERROR_PAST_USERINFO(401, "账户信息已过期，请重新登录"),
    ERROR_PRESS_NOT_24HOUR_HOT(401, "24小时内无最新数据"),
    ERROR_NOT_DATA(401, "无数据"),

    ERROR_REGISTER(401, "注册失败，预期外的错误"),
    ERROR_UNIQUE_STUDENTID(401, "注册失败，学号已被占用，如果不是本人操作请联系管理员"),
    ERROR_UNIQUE_PHONENUMBER(401, "注册失败，手机号已被占用，如果不是本人操作请联系管理员"),
    ERROR_ADD_PRESS(401, "发布失败，预期外的错误"),
    ERROR_ADD_PRESSLIKE(401, "点赞失败，重复点赞"),

    ERROR_DELETE_DATA(401, "删除失败，服务器开小差了"),
    ERROR_EDIT_PRESS(401, "编辑失败，服务器开小差了"),
    ERROR_NOT_EMAIL(401, "邮件发送失败，预料外的错误"),
    ERROR_UNIQUE_EMAIL(401, "绑定邮箱失败，邮箱已被占用，如果不是本人操作请联系管理员"),
    ERROR_NOT_verificationCode(401, "验证码错误，请重新获取"),
    ERROR_NOT_PASSWORD(401, "修改密码失败，密码不正确");

    private int code;
    private String desc;

    ExceptionResponseCode(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public int getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}
